package com.blog.common.domain.enums;

import com.blog.common.domain.adapter.impl.FieldEncryptionImpl;
import com.blog.common.domain.adapter.impl.FileConvertImpl;
import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.Objects;

/**
 * <p>
 * 字段转换枚举类
 * </p>
 *
 * @author Valerie
 * @date 2023/5/28
 **/
@AllArgsConstructor
public enum ConvertEnums {
    /** 图片转换 */
    File(FileConvertImpl.class),

    /** 加密 */
    Encryption(FieldEncryptionImpl.class);

    private Class<?> getClazz(){
        return this.clazz;
    }

    private final Class<?> clazz;

    /**
     * 是否使用适配器
     *
     * @param clazz 类型
     * @return {@link boolean}
     */
    public static boolean determineAdapter(ConvertEnums enums, Class<?> clazz){
        return Objects.equals(enums.getClazz(), clazz);
    }
}
